<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt; Class Template Reference</title>
<script type="text/javaScript" src="search/search.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>
<script src="../../mlstyle.js"></script>
<link href="../css/besser.css" rel="stylesheet" type="text/css"/>
</head>
<!-- pretty cool: each body gets an id tag which is the basename of the web page  -->
<!--              and allows for page-specific CSS. this is client-side scripted, -->
<!--              so the id will not yet show up in the served source code -->
<script type="text/javascript">
    jQuery(document).ready(function () {
        var url = jQuery(location).attr('href');
        var pname = url.substr(url.lastIndexOf("/")+1, url.lastIndexOf(".")-url.lastIndexOf("/")-1);
        jQuery('#this_url').html('<strong>' + pname + '</strong>');
        jQuery('body').attr('id', pname);
    });
</script>
<body>
    <div id="shark_old">
        <div id="wrap">
            <div id="header">
                <div id="site-name"><a href="../../sphinx_pages/build/html/index.html">Shark machine learning library</a></div>
                <ul id="nav">
                    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/installation.html">Installation</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/tutorials/tutorials.html">Tutorials</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/benchmark.html">Benchmarks</a>
                    </li>
                    <li class="active">
                        <a href="classes.html">Documentation</a>
                        <ul>
                            <li class="first"></li>
                            <li><a href="../../sphinx_pages/build/html/rest_sources/quickref/quickref.html">Quick references</a></li>
                            <li><a href="classes.html">Class list</a></li>
                            <li class="last"><a href="group__shark__globals.html">Global functions</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>
<div id="doxywrapper">
<!--
    <div id="global_doxytitle">Doxygen<br>Documentation:</div>
-->
    <div id="navrow_wrapper">
<!-- Generated by Doxygen 1.9.8 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceshark.html">shark</a></li><li class="navelem"><a class="el" href="classshark_1_1_individual.html">Individual</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="classshark_1_1_individual-members.html">List of all members</a> &#124;
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle"><div class="title">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt; Class Template Reference</div></div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classshark_1_1_individual.html" title="Individual is a simple templated class modelling an individual that acts as a candidate solution in a...">Individual</a> is a simple templated class modelling an individual that acts as a candidate solution in an evolutionary algorithm.  
 <a href="classshark_1_1_individual.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_individual_8h_source.html">shark/Algorithms/DirectSearch/Individual.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classshark_1_1_individual__inherit__graph.png" border="0" usemap="#ashark_1_1_individual_3_01_point_type_00_01_fitness_type_t_00_01_chromosome_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="ashark_1_1_individual_3_01_point_type_00_01_fitness_type_t_00_01_chromosome_01_4_inherit__map" id="ashark_1_1_individual_3_01_point_type_00_01_fitness_type_t_00_01_chromosome_01_4_inherit__map">
<area shape="rect" title="Individual is a simple templated class modelling an individual that acts as a candidate solution in a..." alt="" coords="5,5,178,61"/>
<area shape="rect" href="classshark_1_1_c_m_a_individual.html" title=" " alt="" coords="18,109,165,150"/>
<area shape="poly" title=" " alt="" coords="94,77,94,109,89,109,89,77"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structshark_1_1_individual_1_1_fitness_ordering.html">FitnessOrdering</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ordering relation by the fitness of the individuals(only single objective)  <a href="structshark_1_1_individual_1_1_fitness_ordering.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structshark_1_1_individual_1_1_rank_ordering.html">RankOrdering</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ordering relation by the ranks of the individuals.  <a href="structshark_1_1_individual_1_1_rank_ordering.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:aa09cdfd65312e4c807d0f80a9ec71da5" id="r_aa09cdfd65312e4c807d0f80a9ec71da5"><td class="memItemLeft" align="right" valign="top">typedef FitnessTypeT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a></td></tr>
<tr class="separator:aa09cdfd65312e4c807d0f80a9ec71da5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa96e1866f7225504ba5a69965dd9d768" id="r_aa96e1866f7225504ba5a69965dd9d768"><td class="memItemLeft" align="right" valign="top">typedef PointType&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#aa96e1866f7225504ba5a69965dd9d768">SearchPointType</a></td></tr>
<tr class="separator:aa96e1866f7225504ba5a69965dd9d768"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ace77ffb9f21e486028a7264043bbf35a" id="r_ace77ffb9f21e486028a7264043bbf35a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#ace77ffb9f21e486028a7264043bbf35a">Individual</a> ()</td></tr>
<tr class="memdesc:ace77ffb9f21e486028a7264043bbf35a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor that initializes the individual's attributes to default values.  <br /></td></tr>
<tr class="separator:ace77ffb9f21e486028a7264043bbf35a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d6ed0dfa38f5b0e9debdeb5529e6689" id="r_a8d6ed0dfa38f5b0e9debdeb5529e6689"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_individual.html#aa96e1866f7225504ba5a69965dd9d768">SearchPointType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a8d6ed0dfa38f5b0e9debdeb5529e6689">searchPoint</a> ()</td></tr>
<tr class="memdesc:a8d6ed0dfa38f5b0e9debdeb5529e6689"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the search point that is associated with the individual.  <br /></td></tr>
<tr class="separator:a8d6ed0dfa38f5b0e9debdeb5529e6689"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad061b1db165753bae7695290c4fd232" id="r_aad061b1db165753bae7695290c4fd232"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_individual.html#aa96e1866f7225504ba5a69965dd9d768">SearchPointType</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#aad061b1db165753bae7695290c4fd232">searchPoint</a> () const</td></tr>
<tr class="memdesc:aad061b1db165753bae7695290c4fd232"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a const reference to the search point that is associated with the individual.  <br /></td></tr>
<tr class="separator:aad061b1db165753bae7695290c4fd232"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addfc461c9e7394ee238e6f5c18537646" id="r_addfc461c9e7394ee238e6f5c18537646"><td class="memItemLeft" align="right" valign="top">Chromosome &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#addfc461c9e7394ee238e6f5c18537646">chromosome</a> ()</td></tr>
<tr class="memdesc:addfc461c9e7394ee238e6f5c18537646"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the chromosome that is associated with the individual.  <br /></td></tr>
<tr class="separator:addfc461c9e7394ee238e6f5c18537646"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59707757b53f0235e2bac65271ab644c" id="r_a59707757b53f0235e2bac65271ab644c"><td class="memItemLeft" align="right" valign="top">Chromosome const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a59707757b53f0235e2bac65271ab644c">chromosome</a> () const</td></tr>
<tr class="memdesc:a59707757b53f0235e2bac65271ab644c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a const reference to the chromosome that is associated with the individual.  <br /></td></tr>
<tr class="separator:a59707757b53f0235e2bac65271ab644c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27124e785660f26f56ab638568f1f5f1" id="r_a27124e785660f26f56ab638568f1f5f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a27124e785660f26f56ab638568f1f5f1">unpenalizedFitness</a> ()</td></tr>
<tr class="memdesc:a27124e785660f26f56ab638568f1f5f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the unpenalized fitness of the individual.  <br /></td></tr>
<tr class="separator:a27124e785660f26f56ab638568f1f5f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d7a125e227b76610e7bda016a3b387f" id="r_a0d7a125e227b76610e7bda016a3b387f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a0d7a125e227b76610e7bda016a3b387f">unpenalizedFitness</a> () const</td></tr>
<tr class="memdesc:a0d7a125e227b76610e7bda016a3b387f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the unpenalized fitness of the individual.  <br /></td></tr>
<tr class="separator:a0d7a125e227b76610e7bda016a3b387f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62d3d29935d144352503f3002bd93363" id="r_a62d3d29935d144352503f3002bd93363"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a62d3d29935d144352503f3002bd93363">penalizedFitness</a> ()</td></tr>
<tr class="memdesc:a62d3d29935d144352503f3002bd93363"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the penalized fitness of the individual.  <br /></td></tr>
<tr class="separator:a62d3d29935d144352503f3002bd93363"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93503a3e970e0c59b5efce06b432e34b" id="r_a93503a3e970e0c59b5efce06b432e34b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a> const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a93503a3e970e0c59b5efce06b432e34b">penalizedFitness</a> () const</td></tr>
<tr class="memdesc:a93503a3e970e0c59b5efce06b432e34b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the unpenalized fitness of the individual.  <br /></td></tr>
<tr class="separator:a93503a3e970e0c59b5efce06b432e34b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4a1bb36f0ccbdc08f68ae85a198d713" id="r_aa4a1bb36f0ccbdc08f68ae85a198d713"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#aa4a1bb36f0ccbdc08f68ae85a198d713">rank</a> () const</td></tr>
<tr class="memdesc:aa4a1bb36f0ccbdc08f68ae85a198d713"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the level of non-dominance of the individual.  <br /></td></tr>
<tr class="separator:aa4a1bb36f0ccbdc08f68ae85a198d713"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03f1bbca6f2eefc2dd621e14410834cf" id="r_a03f1bbca6f2eefc2dd621e14410834cf"><td class="memItemLeft" align="right" valign="top">unsigned int &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a03f1bbca6f2eefc2dd621e14410834cf">rank</a> ()</td></tr>
<tr class="memdesc:a03f1bbca6f2eefc2dd621e14410834cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a reference to the level of non-dominance of the individual. Allows for lvalue()-semantic.  <br /></td></tr>
<tr class="separator:a03f1bbca6f2eefc2dd621e14410834cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae398d51a6c688bc9458694d9d47759d1" id="r_ae398d51a6c688bc9458694d9d47759d1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#ae398d51a6c688bc9458694d9d47759d1">selected</a> () const</td></tr>
<tr class="memdesc:ae398d51a6c688bc9458694d9d47759d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the individual is selected for the next parent generation.  <br /></td></tr>
<tr class="separator:ae398d51a6c688bc9458694d9d47759d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a1aceb8eb60e961a1bbf4506905220b" id="r_a4a1aceb8eb60e961a1bbf4506905220b"><td class="memItemLeft" align="right" valign="top">bool &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a4a1aceb8eb60e961a1bbf4506905220b">selected</a> ()</td></tr>
<tr class="memdesc:a4a1aceb8eb60e961a1bbf4506905220b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the individual is selected for the next parent generation.  <br /></td></tr>
<tr class="separator:a4a1aceb8eb60e961a1bbf4506905220b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26321373a70a17256dd25214e139bfe7" id="r_a26321373a70a17256dd25214e139bfe7"><td class="memTemplParams" colspan="2">template&lt;typename Archive &gt; </td></tr>
<tr class="memitem:a26321373a70a17256dd25214e139bfe7"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a26321373a70a17256dd25214e139bfe7">serialize</a> (Archive &amp;archive, const unsigned int version)</td></tr>
<tr class="memdesc:a26321373a70a17256dd25214e139bfe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stores the individual and all of its chromosomes in an archive.  <br /></td></tr>
<tr class="separator:a26321373a70a17256dd25214e139bfe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a0a9496e526eb4959ff769a8acd205426" id="r_a0a9496e526eb4959ff769a8acd205426"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_individual.html#aa96e1866f7225504ba5a69965dd9d768">SearchPointType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a0a9496e526eb4959ff769a8acd205426">m_searchPoint</a></td></tr>
<tr class="memdesc:a0a9496e526eb4959ff769a8acd205426"><td class="mdescLeft">&#160;</td><td class="mdescRight">The search point associated with the individual.  <br /></td></tr>
<tr class="separator:a0a9496e526eb4959ff769a8acd205426"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae9d6e09eb149ef22e25c0cba97ee2ed" id="r_aae9d6e09eb149ef22e25c0cba97ee2ed"><td class="memItemLeft" align="right" valign="top">Chromosome&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#aae9d6e09eb149ef22e25c0cba97ee2ed">m_chromosome</a></td></tr>
<tr class="memdesc:aae9d6e09eb149ef22e25c0cba97ee2ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">The search point associated with the individual.  <br /></td></tr>
<tr class="separator:aae9d6e09eb149ef22e25c0cba97ee2ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0d743b590b4190776d613863c2d88f9" id="r_aa0d743b590b4190776d613863c2d88f9"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#aa0d743b590b4190776d613863c2d88f9">m_rank</a></td></tr>
<tr class="memdesc:aa0d743b590b4190776d613863c2d88f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The level of non-dominance of the individual. The lower the better.  <br /></td></tr>
<tr class="separator:aa0d743b590b4190776d613863c2d88f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5770fceb9feddc2cc92080ce9e1c2fb7" id="r_a5770fceb9feddc2cc92080ce9e1c2fb7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a5770fceb9feddc2cc92080ce9e1c2fb7">m_selected</a></td></tr>
<tr class="memdesc:a5770fceb9feddc2cc92080ce9e1c2fb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the individual selected for the next parent set?  <br /></td></tr>
<tr class="separator:a5770fceb9feddc2cc92080ce9e1c2fb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e8fa4f41a74a27cab74065ba37a4ad1" id="r_a4e8fa4f41a74a27cab74065ba37a4ad1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a4e8fa4f41a74a27cab74065ba37a4ad1">m_penalizedFitness</a></td></tr>
<tr class="memdesc:a4e8fa4f41a74a27cab74065ba37a4ad1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Penalized fitness of the individual.  <br /></td></tr>
<tr class="separator:a4e8fa4f41a74a27cab74065ba37a4ad1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f61d70d13c293b174868bdae680f5af" id="r_a7f61d70d13c293b174868bdae680f5af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a7f61d70d13c293b174868bdae680f5af">m_unpenalizedFitness</a></td></tr>
<tr class="memdesc:a7f61d70d13c293b174868bdae680f5af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unpenalized fitness of the individual.  <br /></td></tr>
<tr class="separator:a7f61d70d13c293b174868bdae680f5af"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="friends" name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a94637c55f4ded98f7e17bcbb7727da92" id="r_a94637c55f4ded98f7e17bcbb7727da92"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_individual.html#a94637c55f4ded98f7e17bcbb7727da92">swap</a> (<a class="el" href="classshark_1_1_individual.html">Individual</a> &amp;i1, <a class="el" href="classshark_1_1_individual.html">Individual</a> &amp;i2)</td></tr>
<tr class="separator:a94637c55f4ded98f7e17bcbb7727da92"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;typename PointType, class FitnessTypeT, class Chromosome = RealVector&gt;<br />
class shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;</div><p><a class="el" href="classshark_1_1_individual.html" title="Individual is a simple templated class modelling an individual that acts as a candidate solution in a...">Individual</a> is a simple templated class modelling an individual that acts as a candidate solution in an evolutionary algorithm. </p>
<p>The class holds the current search point as well as the penalized and unpenalized fitness, its domination rank with respect to the population, its age, a boolean variable determining whether the individual is selected for the next parent generation and some payload chromosome which is by default a RealVector.</p>
<p>The states mean the following:</p><ul>
<li>the search point is the point in search space the individual represents.</li>
<li>the penalized and unpenailzed fitness are related by: if the search point is in the search region of the optimization region, penalized and unpenalized fitness are the same. otherwise the unpenalized fitness is the value of the closest feasible point to the search point. The penalized fitness is the same value plus an penalty term. Usually this is ||s-closestFeasible(s)||^2, the squared distance between the search point and the closest feasible point.<ul>
<li>the domination rank indicates in which front the individual is. a nondominated individual has rank 1, individuals that are only dominated by individuals with rank one have rank 2 and so on. In single objective optimization, the rank is simply the number of individuals with better fitness+1.</li>
</ul>
</li>
<li>the age is the number of generations the individual has survived.</li>
<li>selection: survival selection schemes never delete or move points, instead they indicate which points are to be deleted. </li>
</ul>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00061">61</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="aa09cdfd65312e4c807d0f80a9ec71da5" name="aa09cdfd65312e4c807d0f80a9ec71da5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa09cdfd65312e4c807d0f80a9ec71da5">&#9670;&#160;</a></span>FitnessType</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef FitnessTypeT <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::FitnessType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00064">64</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

</div>
</div>
<a id="aa96e1866f7225504ba5a69965dd9d768" name="aa96e1866f7225504ba5a69965dd9d768"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa96e1866f7225504ba5a69965dd9d768">&#9670;&#160;</a></span>SearchPointType</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef PointType <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::SearchPointType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00066">66</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ace77ffb9f21e486028a7264043bbf35a" name="ace77ffb9f21e486028a7264043bbf35a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace77ffb9f21e486028a7264043bbf35a">&#9670;&#160;</a></span>Individual()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::Individual </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default constructor that initializes the individual's attributes to default values. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00083">83</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="addfc461c9e7394ee238e6f5c18537646" name="addfc461c9e7394ee238e6f5c18537646"></a>
<h2 class="memtitle"><span class="permalink"><a href="#addfc461c9e7394ee238e6f5c18537646">&#9670;&#160;</a></span>chromosome() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Chromosome &amp; <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::chromosome </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a reference to the chromosome that is associated with the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00099">99</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#aae9d6e09eb149ef22e25c0cba97ee2ed">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_chromosome</a>.</p>

<p class="reference">Referenced by <a class="el" href="_ackley_e_s_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>, <a class="el" href="classshark_1_1_elitist_c_m_a.html#a2a9043c1b6618883d267495170ee70a4">shark::ElitistCMA::sigma()</a>, and <a class="el" href="classshark_1_1_elitist_c_m_a.html#a2d6e18f8d1445bcd935e98f3ff434033">shark::ElitistCMA::sigma()</a>.</p>

</div>
</div>
<a id="a59707757b53f0235e2bac65271ab644c" name="a59707757b53f0235e2bac65271ab644c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59707757b53f0235e2bac65271ab644c">&#9670;&#160;</a></span>chromosome() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Chromosome const  &amp; <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::chromosome </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a const reference to the chromosome that is associated with the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00104">104</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#aae9d6e09eb149ef22e25c0cba97ee2ed">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_chromosome</a>.</p>

</div>
</div>
<a id="a62d3d29935d144352503f3002bd93363" name="a62d3d29935d144352503f3002bd93363"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62d3d29935d144352503f3002bd93363">&#9670;&#160;</a></span>penalizedFitness() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a> &amp; <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::penalizedFitness </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a reference to the penalized fitness of the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00119">119</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#a4e8fa4f41a74a27cab74065ba37a4ad1">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_penalizedFitness</a>.</p>

<p class="reference">Referenced by <a class="el" href="structshark_1_1_penalizing_evaluator.html#ab0b4b30312f7a7745f2185e3ff7e699c">shark::PenalizingEvaluator::operator()()</a>.</p>

</div>
</div>
<a id="a93503a3e970e0c59b5efce06b432e34b" name="a93503a3e970e0c59b5efce06b432e34b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93503a3e970e0c59b5efce06b432e34b">&#9670;&#160;</a></span>penalizedFitness() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a> const  &amp; <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::penalizedFitness </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the unpenalized fitness of the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00123">123</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#a4e8fa4f41a74a27cab74065ba37a4ad1">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_penalizedFitness</a>.</p>

</div>
</div>
<a id="a03f1bbca6f2eefc2dd621e14410834cf" name="a03f1bbca6f2eefc2dd621e14410834cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03f1bbca6f2eefc2dd621e14410834cf">&#9670;&#160;</a></span>rank() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int &amp; <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::rank </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a reference to the level of non-dominance of the individual. Allows for lvalue()-semantic. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00133">133</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#aa0d743b590b4190776d613863c2d88f9">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_rank</a>.</p>

</div>
</div>
<a id="aa4a1bb36f0ccbdc08f68ae85a198d713" name="aa4a1bb36f0ccbdc08f68ae85a198d713"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4a1bb36f0ccbdc08f68ae85a198d713">&#9670;&#160;</a></span>rank() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::rank </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the level of non-dominance of the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00128">128</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#aa0d743b590b4190776d613863c2d88f9">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_rank</a>.</p>

<p class="reference">Referenced by <a class="el" href="structshark_1_1_individual_1_1_rank_ordering.html#ac4a9e7013da6bdd76788cd4a0c1f1fb7">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::RankOrdering::operator()()</a>, and <a class="el" href="classshark_1_1_indicator_based_steady_state_m_o_c_m_a.html#a0a88da702cff263381c1c16e8970dda4">shark::IndicatorBasedSteadyStateMOCMA&lt; Indicator &gt;::updatePopulation()</a>.</p>

</div>
</div>
<a id="a8d6ed0dfa38f5b0e9debdeb5529e6689" name="a8d6ed0dfa38f5b0e9debdeb5529e6689"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d6ed0dfa38f5b0e9debdeb5529e6689">&#9670;&#160;</a></span>searchPoint() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_individual.html#aa96e1866f7225504ba5a69965dd9d768">SearchPointType</a> &amp; <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::searchPoint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a reference to the search point that is associated with the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00089">89</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#a0a9496e526eb4959ff769a8acd205426">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_searchPoint</a>.</p>

<p class="reference">Referenced by <a class="el" href="structshark_1_1_penalizing_evaluator.html#ab0b4b30312f7a7745f2185e3ff7e699c">shark::PenalizingEvaluator::operator()()</a>, <a class="el" href="structshark_1_1_polynomial_mutator.html#ab007557862cddc9e2655aa743b9e40bc">shark::PolynomialMutator::operator()()</a>, <a class="el" href="structshark_1_1_simulated_binary_crossover.html#a23c71848225890e90268af5696dce7c1">shark::SimulatedBinaryCrossover&lt; PointType &gt;::operator()()</a>, <a class="el" href="structshark_1_1_bitflip_mutator.html#a05a38dc09241ab2eda7c7ff3c2a0593f">shark::BitflipMutator::operator()()</a>, and <a class="el" href="structshark_1_1_partially_mapped_crossover.html#acfc097e51107f82f41430ada99a06530">shark::PartiallyMappedCrossover::operator()()</a>.</p>

</div>
</div>
<a id="aad061b1db165753bae7695290c4fd232" name="aad061b1db165753bae7695290c4fd232"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad061b1db165753bae7695290c4fd232">&#9670;&#160;</a></span>searchPoint() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_individual.html#aa96e1866f7225504ba5a69965dd9d768">SearchPointType</a> const  &amp; <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::searchPoint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a const reference to the search point that is associated with the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00094">94</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#a0a9496e526eb4959ff769a8acd205426">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_searchPoint</a>.</p>

</div>
</div>
<a id="a4a1aceb8eb60e961a1bbf4506905220b" name="a4a1aceb8eb60e961a1bbf4506905220b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a1aceb8eb60e961a1bbf4506905220b">&#9670;&#160;</a></span>selected() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool &amp; <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::selected </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if the individual is selected for the next parent generation. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00143">143</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#a5770fceb9feddc2cc92080ce9e1c2fb7">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_selected</a>.</p>

</div>
</div>
<a id="ae398d51a6c688bc9458694d9d47759d1" name="ae398d51a6c688bc9458694d9d47759d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae398d51a6c688bc9458694d9d47759d1">&#9670;&#160;</a></span>selected() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::selected </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if the individual is selected for the next parent generation. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00138">138</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#a5770fceb9feddc2cc92080ce9e1c2fb7">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_selected</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_indicator_based_steady_state_m_o_c_m_a.html#a0a88da702cff263381c1c16e8970dda4">shark::IndicatorBasedSteadyStateMOCMA&lt; Indicator &gt;::updatePopulation()</a>.</p>

</div>
</div>
<a id="a26321373a70a17256dd25214e139bfe7" name="a26321373a70a17256dd25214e139bfe7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26321373a70a17256dd25214e139bfe7">&#9670;&#160;</a></span>serialize()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<div class="memtemplate">
template&lt;typename Archive &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::serialize </td>
          <td>(</td>
          <td class="paramtype">Archive &amp;&#160;</td>
          <td class="paramname"><em>archive</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned int&#160;</td>
          <td class="paramname"><em>version</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Stores the individual and all of its chromosomes in an archive. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00149">149</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#aae9d6e09eb149ef22e25c0cba97ee2ed">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_chromosome</a>, <a class="el" href="classshark_1_1_individual.html#a4e8fa4f41a74a27cab74065ba37a4ad1">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_penalizedFitness</a>, <a class="el" href="classshark_1_1_individual.html#aa0d743b590b4190776d613863c2d88f9">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_rank</a>, <a class="el" href="classshark_1_1_individual.html#a0a9496e526eb4959ff769a8acd205426">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_searchPoint</a>, <a class="el" href="classshark_1_1_individual.html#a5770fceb9feddc2cc92080ce9e1c2fb7">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_selected</a>, and <a class="el" href="classshark_1_1_individual.html#a7f61d70d13c293b174868bdae680f5af">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_unpenalizedFitness</a>.</p>

</div>
</div>
<a id="a27124e785660f26f56ab638568f1f5f1" name="a27124e785660f26f56ab638568f1f5f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27124e785660f26f56ab638568f1f5f1">&#9670;&#160;</a></span>unpenalizedFitness() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a> &amp; <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::unpenalizedFitness </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a reference to the unpenalized fitness of the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00109">109</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#a7f61d70d13c293b174868bdae680f5af">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_unpenalizedFitness</a>.</p>

<p class="reference">Referenced by <a class="el" href="structshark_1_1_penalizing_evaluator.html#ab0b4b30312f7a7745f2185e3ff7e699c">shark::PenalizingEvaluator::operator()()</a>, and <a class="el" href="structshark_1_1_individual_1_1_fitness_ordering.html#ad7a83da604cd65a17137fe7d14327e74">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::FitnessOrdering::operator()()</a>.</p>

</div>
</div>
<a id="a0d7a125e227b76610e7bda016a3b387f" name="a0d7a125e227b76610e7bda016a3b387f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d7a125e227b76610e7bda016a3b387f">&#9670;&#160;</a></span>unpenalizedFitness() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a> const  &amp; <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::unpenalizedFitness </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the unpenalized fitness of the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00114">114</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_individual.html#a7f61d70d13c293b174868bdae680f5af">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::m_unpenalizedFitness</a>.</p>

</div>
</div>
<h2 class="groupheader">Friends And Related Symbol Documentation</h2>
<a id="a94637c55f4ded98f7e17bcbb7727da92" name="a94637c55f4ded98f7e17bcbb7727da92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94637c55f4ded98f7e17bcbb7727da92">&#9670;&#160;</a></span>swap</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_individual.html">Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt; &amp;&#160;</td>
          <td class="paramname"><em>i1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_individual.html">Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt; &amp;&#160;</td>
          <td class="paramname"><em>i2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00159">159</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="aae9d6e09eb149ef22e25c0cba97ee2ed" name="aae9d6e09eb149ef22e25c0cba97ee2ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae9d6e09eb149ef22e25c0cba97ee2ed">&#9670;&#160;</a></span>m_chromosome</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Chromosome <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::m_chromosome</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The search point associated with the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00171">171</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_individual.html#addfc461c9e7394ee238e6f5c18537646">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::chromosome()</a>, <a class="el" href="classshark_1_1_individual.html#a59707757b53f0235e2bac65271ab644c">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::chromosome()</a>, and <a class="el" href="classshark_1_1_individual.html#a26321373a70a17256dd25214e139bfe7">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::serialize()</a>.</p>

</div>
</div>
<a id="a4e8fa4f41a74a27cab74065ba37a4ad1" name="a4e8fa4f41a74a27cab74065ba37a4ad1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e8fa4f41a74a27cab74065ba37a4ad1">&#9670;&#160;</a></span>m_penalizedFitness</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a> <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::m_penalizedFitness</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Penalized fitness of the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00176">176</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_individual.html#a62d3d29935d144352503f3002bd93363">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::penalizedFitness()</a>, <a class="el" href="classshark_1_1_individual.html#a93503a3e970e0c59b5efce06b432e34b">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::penalizedFitness()</a>, and <a class="el" href="classshark_1_1_individual.html#a26321373a70a17256dd25214e139bfe7">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::serialize()</a>.</p>

</div>
</div>
<a id="aa0d743b590b4190776d613863c2d88f9" name="aa0d743b590b4190776d613863c2d88f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0d743b590b4190776d613863c2d88f9">&#9670;&#160;</a></span>m_rank</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::m_rank</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The level of non-dominance of the individual. The lower the better. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00173">173</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_individual.html#a03f1bbca6f2eefc2dd621e14410834cf">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::rank()</a>, <a class="el" href="classshark_1_1_individual.html#aa4a1bb36f0ccbdc08f68ae85a198d713">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::rank()</a>, and <a class="el" href="classshark_1_1_individual.html#a26321373a70a17256dd25214e139bfe7">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::serialize()</a>.</p>

</div>
</div>
<a id="a0a9496e526eb4959ff769a8acd205426" name="a0a9496e526eb4959ff769a8acd205426"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a9496e526eb4959ff769a8acd205426">&#9670;&#160;</a></span>m_searchPoint</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_individual.html#aa96e1866f7225504ba5a69965dd9d768">SearchPointType</a> <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::m_searchPoint</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The search point associated with the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00170">170</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_individual.html#a8d6ed0dfa38f5b0e9debdeb5529e6689">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::searchPoint()</a>, <a class="el" href="classshark_1_1_individual.html#aad061b1db165753bae7695290c4fd232">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::searchPoint()</a>, and <a class="el" href="classshark_1_1_individual.html#a26321373a70a17256dd25214e139bfe7">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::serialize()</a>.</p>

</div>
</div>
<a id="a5770fceb9feddc2cc92080ce9e1c2fb7" name="a5770fceb9feddc2cc92080ce9e1c2fb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5770fceb9feddc2cc92080ce9e1c2fb7">&#9670;&#160;</a></span>m_selected</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::m_selected</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Is the individual selected for the next parent set? </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00174">174</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_individual.html#a4a1aceb8eb60e961a1bbf4506905220b">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::selected()</a>, <a class="el" href="classshark_1_1_individual.html#ae398d51a6c688bc9458694d9d47759d1">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::selected()</a>, and <a class="el" href="classshark_1_1_individual.html#a26321373a70a17256dd25214e139bfe7">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::serialize()</a>.</p>

</div>
</div>
<a id="a7f61d70d13c293b174868bdae680f5af" name="a7f61d70d13c293b174868bdae680f5af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f61d70d13c293b174868bdae680f5af">&#9670;&#160;</a></span>m_unpenalizedFitness</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename PointType , class FitnessTypeT , class Chromosome  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_individual.html#aa09cdfd65312e4c807d0f80a9ec71da5">FitnessType</a> <a class="el" href="classshark_1_1_individual.html">shark::Individual</a>&lt; PointType, FitnessTypeT, Chromosome &gt;::m_unpenalizedFitness</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Unpenalized fitness of the individual. </p>

<p class="definition">Definition at line <a class="el" href="_individual_8h_source.html#l00177">177</a> of file <a class="el" href="_individual_8h_source.html">Individual.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_individual.html#a26321373a70a17256dd25214e139bfe7">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::serialize()</a>, <a class="el" href="classshark_1_1_individual.html#a27124e785660f26f56ab638568f1f5f1">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::unpenalizedFitness()</a>, and <a class="el" href="classshark_1_1_individual.html#a0d7a125e227b76610e7bda016a3b387f">shark::Individual&lt; PointType, FitnessTypeT, Chromosome &gt;::unpenalizedFitness()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/shark/Algorithms/DirectSearch/<a class="el" href="_individual_8h_source.html">Individual.h</a></li>
</ul>
</div><!-- contents -->
</div>
</body>
</html>
